/**
 * Copyright: Copyright (c) 2016 
 * Company:东方网力科技股份有限公司
 * 
  * @author wangshang
  * @date 2016年8月5日 下午2:16:12
 * @version V1.0
 */
package com.cyy.demo.utils;

import org.apache.commons.lang.StringUtils;

/**
 * @ClassName: UserAgentUtil
 * @Description: 根据 user agent string 来判断出客户端的浏览器以及平台等信息
 * @author wangshang
 * @date 2016年8月5日 下午2:16:12
 *
 */
public class UserAgent {
    /**
     * 浏览器类型
     */
    private String browserType;
    /**
     * 浏览器版本
     */
    private String browserVersion;
    /**
     * 平台类型
     */
    private String platformType;
    /**
     * 平台系列
     */
    private String platformSeries;
    /**
     * 平台版本
     */
    private String platformVersion;

    /**
      * 创建一个新的实例 UserAgent. 
      * <p>Title:UserAgent </p>
      * <p>Description:UserAgent空构造方法</p>
     */
    public UserAgent() {
    }

    /**
      * 创建一个新的实例 UserAgent. 
      * <p>Title: </p>
      * <p>Description: </p>
      * @param browserType 浏览器类型
      * @param browserVersion 浏览器版本
      * @param platformType 平台类型
      * @param platformSeries 平台系列
      * @param platformVersion 平台版本
     */
    public UserAgent(String browserType, String browserVersion, String platformType, String platformSeries, String platformVersion) {
        this.browserType = browserType;
        this.browserVersion = browserVersion;
        this.platformType = platformType;
        this.platformSeries = platformSeries;
        this.platformVersion = platformVersion;
    }

    /**
      * @Title: getPlatformAndBrowser
      * @Description: 获取操作平台和浏览器
      * @return  返回平台与浏览器 如：Windows7 Chrome(51.0.2704.103)
     */
    public String getPlatformAndBrowser() {
        String platformBrowser = platformType + platformSeries + " " + browserType;
        if (StringUtils.isNotEmpty(browserVersion)) {
            platformBrowser += "(" + browserVersion + ")";
        }
        return platformBrowser;
    }
}
